Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 3deab29845fbfa978ce8b488505b05f6be8cf4e4


Parents : 720f34d
Author : Mark Qvist <mark@adepta.io>
Date : 2018-06-20T17:45:22+02:00

TNC mode checks

Changes

2 files changed, 10 insertions(+), 5 deletions(-)

M Config.h +4

Diff

diff --git a/Config.h b/Config.h
index ecdafcc..73f4717 100644
--- a/Config.h
+++ b/Config.h
@@ -9,6 +9,9 @@
#define MCU_328P 0x90
#define MCU_1284P 0x91
+ #define MODE_HOST 0x11
+ #define MODE_TNC 0x12
+
#if defined(__AVR_ATmega328P__)
#define MCU_VARIANT MCU_328P
#warning "Firmware is being compiled for atmega328p based boards"
@@ -72,6 +75,7 @@
bool radio_locked = true;
bool radio_online = false;
bool hw_ready = false;
+ uint8_t op_mode = MODE_HOST;
uint8_t model = 0x00;
uint8_t hwrev = 0x00;

diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino
index cc8cdee..8aada72 100644
--- a/RNode_Firmware.ino
+++ b/RNode_Firmware.ino
@@ -232,7 +232,7 @@ void serialCallback(uint8_t sbyte) {
kiss_indicate_frequency();
} else {
lora_freq = freq;
- setFrequency();
+ if (op_mode == MODE_HOST) setFrequency();
kiss_indicate_frequency();
}
}
@@ -255,7 +255,7 @@ void serialCallback(uint8_t sbyte) {
kiss_indicate_bandwidth();
} else {
lora_bw = bw;
- setBandwidth();
+ if (op_mode == MODE_HOST) setBandwidth();
kiss_indicate_bandwidth();
}
}
@@ -267,7 +267,7 @@ void serialCallback(uint8_t sbyte) {
if (txp > 17) txp = 17;
lora_txp = txp;
- setTXPower();
+ if (op_mode == MODE_HOST) setTXPower();
kiss_indicate_txpower();
}
} else if (command == CMD_SF) {
@@ -279,7 +279,7 @@ void serialCallback(uint8_t sbyte) {
if (sf > 12) sf = 12;
lora_sf = sf;
- setSpreadingFactor();
+ if (op_mode == MODE_HOST) setSpreadingFactor();
kiss_indicate_spreadingfactor();
}
} else if (command == CMD_CR) {
@@ -291,7 +291,7 @@ void serialCallback(uint8_t sbyte) {
if (cr > 8) cr = 8;
lora_cr = cr;
- setCodingRate();
+ if (op_mode == MODE_HOST) setCodingRate();
kiss_indicate_codingrate();
}
} else if (command == CMD_RADIO_STATE) {
@@ -397,6 +397,7 @@ void validateStatus() {
if (eeprom_have_conf()) {
eeprom_conf_load();
+ op_mode = MODE_TNC;
startRadio();
}
}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────